package com.pic.mgt.syushin.executer.tar;

import java.io.File;
import java.util.List;

public interface TarFile {
	/**
	 * 
	 * @param sourceFileList 要被打包的來源檔案清單(只有檔案不包含目錄)
	 * @param tarFile 目標tar檔.
	 * @return 回傳打包後的 File回傳
	 * @throws TarFileException
	 */
	public File tarFile(List<File> sourceFileList,
					    String destDir,
					    String destTarFilenameStr) throws TarFileException;
	
	/**
	 * 設定在 tar 檔過程中，是否要使用 GZIP 解壓縮。
	 * 預設為 false。
	 * @param status
	 */
	void setGZipCompress(boolean status);
	boolean isUsingGZipCompress();
	
	/**
	 * 當呼叫 tarFile() 方法進行tar檔時，在過程中若要中斷動作可呼叫此方法。
	 */
	void interruptDeTarAction();
	
	public void setTarFileListener(TarFileListener tarFileListener);
	public  TarFileListener getTarFileListener();
}
